package com.example.tool.activtiy;

import android.support.design.widget.AppBarLayout;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.tool.R;
import com.example.tool.activtiy.base.BaseActivity;
import com.example.tool.adapter.ShowAdapter;
import com.example.tool.listener.AppBarStateChangeListener;
import com.example.tool.mvp.CommonPresent;
import com.example.tool.util.DebugLog;
import com.gyf.immersionbar.ImmersionBar;

import java.util.ArrayList;
import java.util.List;

import butterknife.BindView;

/**
 * Created Date 2019/8/25.
 *
 * @author liangkun
 * ClassDescription：折叠布局，这个布局是导致toolbar没有了
 */
public class CollapsActivity extends BaseActivity<CommonPresent> {
    @BindView(R.id.recyclerView)
    RecyclerView recyclerView;
    @BindView(R.id.appbar)
    AppBarLayout appBarLayout;
    @BindView(R.id.toolbar)
    Toolbar toolbar;
    @BindView(R.id.tvl_text)
    TextView tvDes;
    @BindView(R.id.iv_left)
    ImageView ivLeft;

    private List<String> mDatas = new ArrayList<>();
    private ShowAdapter showAdapter;

    @Override
    protected int getLayoutId() {
        return R.layout.activity_collapsing;
    }

    @Override
    protected void initView() {

        setBarFont();

        LinearLayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
        recyclerView.setLayoutManager(layoutManager);
        DebugLog.d(DebugLog.KUN + "mDatas " + mDatas.size());
        showAdapter = new ShowAdapter(this, mDatas, R.layout.home_list);


    }

    private void setBarFont() {
        ImmersionBar.with(this)
                .transparentStatusBar()  //透明状态栏，不写默认透明色
                .transparentNavigationBar()//透明导航栏，不写默认黑色(设置此方法，fullScreen()方法自动为true)
//                .statusBarColor(R.color.color_white)
                .fitsSystemWindows(false)
                .statusBarDarkFont(false)
                //状态栏字体是深色，不写默认为亮色
                .navigationBarColor(R.color.color_e2dfdd) //导航栏颜色，不写默认黑色
//                .navigationBarDarkIcon(true)//导航栏图标是深色，不写默认为亮色;
                .navigationBarAlpha(0.03f)//导航栏透明度，不写默认0.0F
                .init();
    }

    @Override
    protected void initData() {
        initDatas();
        recyclerView.setAdapter(showAdapter);
    }

    @Override
    protected void initEvent() {
        appBarLayout.addOnOffsetChangedListener(new AppBarStateChangeListener() {
            @Override
            public void onStateChanged(AppBarLayout appBarLayout, State state) {
                if (state == State.EXPANDED) {
                    tvDes.setVisibility(View.INVISIBLE);
                    //展开状态
//                    toolbar.setNavigationIcon(R.mipmap.left_arrow);
                    ivLeft.setImageResource(R.mipmap.left_arrow);
                        setBarFont();
                } else if (state == State.COLLAPSED) {
                    tvDes.setVisibility(View.VISIBLE);
                    //折叠状态
//                    toolbar.setNavigationIcon(R.mipmap.arrow_left);
                    ivLeft.setImageResource(R.mipmap.arrow_left);
//                    ImmersionBar.with(CollapsActivity.this)
//                            .statusBarDarkFont(true)
//                            .init();
                    ImmersionBar.with(CollapsActivity.this)
                            .transparentStatusBar()  //透明状态栏，不写默认透明色
                            .transparentNavigationBar()//透明导航栏，不写默认黑色(设置此方法，fullScreen()方法自动为true)
//                .statusBarColor(R.color.color_white)
                            .fitsSystemWindows(false)
                            .statusBarDarkFont(true)
                            //状态栏字体是深色，不写默认为亮色
                            .navigationBarColor(R.color.color_e2dfdd) //导航栏颜色，不写默认黑色
//                .navigationBarDarkIcon(true)//导航栏图标是深色，不写默认为亮色;
                            .navigationBarAlpha(0.03f)//导航栏透明度，不写默认0.0F
                            .init();
                } else {
                    //中间状态
                    ivLeft.setImageResource(R.mipmap.arrow_left);

                }
            }
        });

    }

    @Override
    protected CommonPresent createPresenter() {
        return null;
    }

    /**
     * 获取数据
     */
    private void initDatas() {
        for (int i = 'A'; i <= 'z'; i++) {
            mDatas.add((char) i + "");
        }
    }

}
